<?php
/*
 * Log_ip DAL.
 * @Autor: Inicial.cl.
 */
class Log_ipDAL {
	//METODO PARA GRABAR LOG_IP.
	public static function grabar($oLog_ip){
		try{
			$arr = array(
				"{#IP}" => $oLog_ip->getIp(),
				"{#IDUSUARIO}" => $oLog_ip->getIdUsuario(),
				"{#FECHA}" => $oLog_ip->getFecha()
			);
			$query = Util::getQuery($arr, Log_ipSQL::$GRABAR_LOG_IP);
			$arrDatos = Bd::exec($query);

			$id = Bd::$IDENTITY; //Retorno id insertado
			return $id;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA EDITAR LOG_IP.
	public static function editar($oLog_ip){
		try{
			$arr = array(
				"{#ID}" => $oLog_ip->getId(),
				"{#IP}" => $oLog_ip->getIp(),
				"{#IDUSUARIO}" => $oLog_ip->getIdUsuario(),
				"{#FECHA}" => $oLog_ip->getFecha()
			);
			$query = Util::getQuery($arr, Log_ipSQL::$EDITAR_LOG_IP);
			$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA LISTAR LOG_IP.
	public static function listar($oLog_ip){
		try{
			$arr = array(
				"{#ID}" => $oLog_ip->getId(),
				"{#IP}" => $oLog_ip->getIp(),
				"{#IDUSUARIO}" => $oLog_ip->getIdUsuario(),
				"{#FECHA}" => $oLog_ip->getFecha()
			);
			$query = Util::getQuery($arr, Log_ipSQL::$LISTAR_LOG_IP);
			$arrDatos = Bd::exec($query);
			$arrLog_ip = array();

			if (count($arrDatos) > 0) {
				foreach ($arrDatos as $row) {
					$oLog_ip = new Log_ip();

					$oLog_ip->setId($row["id"]);
					$oLog_ip->setIp($row["ip"]);
					$oLog_ip->setIdUsuario($row["idUsuario"]);
					$oLog_ip->setFecha($row["fecha"]);

					$arrLog_ip[] = $oLog_ip;
				}
			}

			return $arrLog_ip;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA OBTENER POR ID LOG_IP.
	public static function obtenerPorId($id){
		try{
			$arr = array(
					"{#ID}" => $id
				);
			$query = Util::getQuery($arr, Log_ipSQL::$OBTENER_LOG_IP_POR_ID);
			$arrDatos = Bd::exec($query);

			if (count($arrDatos) > 0) {
				$oLog_ip = new Log_ip();

				foreach ($arrDatos as $row) {
					$oLog_ip->setId($row["id"]);
					$oLog_ip->setIp($row["ip"]);
					$oLog_ip->setIdUsuario($row["idUsuario"]);
					$oLog_ip->setFecha($row["fecha"]);
				}
				return $oLog_ip;
			}
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA ELIMINAR LOG_IP.
	public static function eliminar($id){
		try{
			$arr = array("{#ID}" => $id);
				$query = Util::getQuery($arr, Log_ipSQL::$ELIMINAR_LOG_IP);
				$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}
}
?>